iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0
自我挑戰組

30 天 hypervisor 入門系列 第 2

Day 02 Hypervisor 簡介

  • 分享至 

  • xImage
  •  

Hypervisor 的角色

Hypervisor 是介於硬體與作業系統間的一層抽象。
它的工作是:

  1. 接手硬體資源(CPU、記憶體、I/O、中斷)。
  2. 將「虛擬的硬體」交給多個作業係統使用。

對 Guest OS 而言一切是透明的。它不會知道自己跑在借來的硬體上,他會認為自己擁有獨立的硬體資源。

Hypervisor 的兩種類型

https://ithelp.ithome.com.tw/upload/images/20250916/201788145i0MRcTvKX.png
來源: https://vgyan.in/type-1-and-type-2-hypervisor/

  1. Native Hypervisor(Type 1, 裸機型)
    直接運行在硬體上。
    由 Hypervisor 自行管理 CPU、記憶體、中斷等資源。
    如:KVM。

  2. Hosted Hypervisor(Type 2, 宿主型)
    運行在作業系統上,像一個應用程式。
    依賴宿主提供的硬體抽象。
    如: VMware Workstation

從 KVM 出發

如果要從零開始探索 Hypervisor,就必須處理 Intel VMX 的細節,從 BIOS 初始化一路走到 VM-entry/exit,這對於 30 天計畫應該是不夠的。

因此,作為 30 天計畫的起手點,我想從 KVM 開始:

  1. 它內建於 Linux,有些發行版(如:Ubuntu 的推廣文章) 將 KVM 定義為 Type 1 Hypervisor。
  2. 並且 /dev/kvm 提供許多 API 讓我們可以直接建立 vCPU、配置 Guest 記憶體空間,並管理整個虛擬機器的生命周期。
  3. 當 Guest 執行部分敏感指令時,處理器會觸發 VM-exit,將控制權交還 VMM。KVM 在此扮演攔截與分派的角色。

利用 KVM,我們可避免在「trap-and-emulate」的細節上踩坑,將精力集中於 VM-exit 的攔截與處理策略設計。


上一篇
Day 01 前言
下一篇
Day 03 從 Intel 手冊看 VM-Exit
系列文
30 天 hypervisor 入門3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言